#include<list>
#include<queue>
using namespace std;

class Base {
public:
    virtual void foo()=0;
    Base() { call_foo();  }
    void call_foo() { foo(); }
};

class Derived : Base {
    void foo() {  }
};

int main() {
    Derived d;
}

//class Test {
//public:
//	virtual void func() final{}
//};
//
//class Derive :public Test {
//public:
//	void func() {
//
//	}
//};
//int main() {
//	list<int>lists;
//	queue<int>queue;
//	queue.push(2);
//}